package messages

import "communication-system/server/model"

//定义消息类型的常量信息
const (
	LoginMessType ="LoginMess"
	LoginResMessType="LoginResMess"
	RegisterMessType ="RegisterMess"

	RegisterResMessType="RegisterResMess"
	NotifyUserStatusMesType="NotifyUserStatusMes"
	SmsMesType ="SmsMes"
)
//定义用户在线状态的常量
var (

	UserOnline=1
	

)
//定义用于消息类别的结构体，server与client之间通过Message作为传输数据的载体
type Message struct{

	Type string `json:"type"`//消息的类型
	Data string `json:"data"`//消息的详情信息
}

//定义一个登录类型的消息结构体,主要包含用于后端登录校验的信息
type LoginMess struct{
	UserId int `json:"userId"`
	UserPwd string `json:"userPwd"`
	UserName string `json:"userName"`
}
//定义一个返回消息类型的结构体，主要包含登录交互返回给请求端的信息
type LoginResMess struct{
	Code int `json:"code"`
	Error string `json:"error"`
	UserIds []int //存放在线的用户id
}
//定义一个用于注册请求体的消息类型
type RegisterMess struct{
	User model.User
}
//定义一个注册响应体的消息类型
type RegisterResMess struct{
	Code int `json:"code"`
	Error string `json:"error"`
}

//为了配合服务器推送用户状态变化的消息
type NotifyUserStatusMes struct{

	UserId int `json:"userid"`
	UserStatus int `json:"userstatus"`
}
//增加一个群聊的消息体
type SmsMes struct{
	Conent string `json:"conent"`
	model.User
}
